iT邦幫忙

2024 iThome 鐵人賽

DAY 26
0
Python

Python 數值與數學模組介紹與應用系列 第 26

Day26.04.decimal — 十進制定點和浮點算術10

  • 分享至 

  • xImage
  •  

邏輯操作數

logical_and()logical_invert()logical_or()logical_xor() 方法均期望其參數為邏輯操作數。邏輯操作數即指數位和符號位均為零,且其數字位均為 01 的 Decimal 實例。

上下文對象

上下文在 decimal 模塊中用來管理算術運算的環境,這些運算涉及精度、舍入規則、異常處理和指數範圍。每個線程都有自己獨立的上下文,可以通過 getcontext()setcontext() 函數來讀取或修改,或者使用 localcontext() 函數在 with 語句中暫時改變上下文。

函數

  • decimal.getcontext()

    • 描述: 傳回當前線程的上下文。
  • decimal.setcontext(c)

    • 描述: 將當前線程的上下文設為 c
  • decimal.localcontext(ctx=None, **kwargs)

    • 描述: 返回一個上下文管理器,該管理器在 with 語句中使用指定的 ctx(或者當前上下文的副本)來暫時改變上下文。kwargs 參數可以用來設定新上下文的屬性。
    • 範例:
      from decimal import localcontext
      
      with localcontext(prec=42) as ctx:
          s = calculate_something()
      s = +s
      

Context

Context 類用來建立新的上下文並提供多種方法來操作它們。預設有三種上下文:

  • decimal.BasicContext

    • 描述: 提供標準的基本上下文,精度設為9,舍入模式為 ROUND_HALF_UP,啟用多數陷阱,適合偵錯用途。
  • decimal.ExtendedContext

    • 描述: 提供擴展上下文,精度設為9,舍入模式為 ROUND_HALF_EVEN,禁用所有陷阱,適合需要結果為 NaNInfinity 的應用。
  • decimal.DefaultContext

    • 描述: 默認上下文,用作新上下文的原型,精度設為28,舍入模式為 ROUND_HALF_EVEN,啟用 Overflow, InvalidOperation, 和 DivisionByZero 陷阱,適合多線程環境。

上一篇
Day25.04.decimal — 十進制定點和浮點算術9
下一篇
Day27.04.decimal — 十進制定點和浮點算術11
系列文
Python 數值與數學模組介紹與應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言